Skip to content

Add RDF module#228

Draft
mhrimaz wants to merge 212 commits into
eclipse-aas4j:mainfrom
mhrimaz:mhrimaz/rdf/main
Draft

Add RDF module#228
mhrimaz wants to merge 212 commits into
eclipse-aas4j:mainfrom
mhrimaz:mhrimaz/rdf/main

Conversation

@mhrimaz

@mhrimaz mhrimaz commented Jan 3, 2024

Copy link
Copy Markdown

Bring back the RDF module.

I used commit 3e5f53c as a base.

Steps to get a running version first and at least produce some valid JSON-LD serializations:

  • update @JsonProperty to new namespace
  • LangString defined as AbstractLangString and divided into different sub classes specific for each element
  • Certain classes renamed such as DataSpecificationIEC61360 to DataSpecificationIec61360

Old code evaluation:

  • Parser logic uses SPARQL query to parse which is wrong approach.
  • Serializer uses Jackson to convert to JSON-LD and then Apache Jena parse the JSON-LD to construct a Model and then it will serialize RDF/Turtle. The workflow is inefficient. Mixins are simply repeated and at the end Jackson as an extra dependency doesn't add any value other than unnecessary complexity.

Next steps are:

  • Rewrite the whole structure of Serializer and Parser with no dependency on Jackson.
  • Increase test case coverage and include invalid scenarios with proper exception handling and logging.
  • Refactoring internal structure and decide about public API
  • Decide on how to handle order relevant elements and write a decision-record for it.
  • Apply necessary changes with respect to v3.1

Features (?):

Last update: 08.02.2024

@twebermartins

Copy link
Copy Markdown
Contributor

Thank you very much for your contribution! We will have a look at it!

@mjacoby

mjacoby commented Nov 11, 2025

Copy link
Copy Markdown
Contributor

Since RDF de-/serialization is not yet officially standardized we will not merge this but leave it as a draft so others who are interested in using ti can easily find it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants